Backup apparatus, backup method and computer readable recording medium in or on which backup program is recorded

ABSTRACT

Upon production of a backup of a first generation, all of an operation volume is stored. However, upon production of a backup of a second or later generation, an update situation of the operation volume is confirmed, and a physical region of a capacity corresponding to a capacity of an update region of the operation volume is secured. Then, only data of the update region is stored into the secured physical region.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority of theprior Japanese Patent Application No. 2010-081686 filed on Mar. 31,2010, the entire contents of which are incorporated herein by reference.

FIELD

The embodiments discussed herein are related to a backup apparatus, abackup method and a computer-readable recording medium in or on which abackup program is recorded.

BACKGROUND

Generally, OPC (One Point Copy) is known as one of methods for backingup a copy source volume, for example, an operation volume, in a storageproduct or a computer. The OPC is a function for producing a snapshotwhich is data at a predetermined point of time regarding data which is abackup target. If an OPC instruction is received from a user, then abackup apparatus which executes the OPC copies all data of operationvolumes at a point of time at which the OPC instruction is received tostore the data as a snapshot (backup data) to carry out backup of theoperation volumes.

As an expansion function of the OPC described above, QOPC (Quick OnePoint Copy) in which a background copy method is used as a function forimplementing difference copy, SnapOPC+ (Snapshot One Point Copy+) inwhich a copy on-write method is used as a function for implementing copyof a plurality of generations and so forth are available.

The QOPC and the SnapOPC+ are described below.

The QOPC is a function for producing a backup volume of an operationvolume at a certain point of time similarly to the OPC. With the QOPC,an operation volume and a backup volume can be referred to and updatedinstantaneously as if production of the backup volume were completed atthe same time with a response to a QOPC starting instruction.

In the QOPC, a copying process operates in the background after the QOPCstarting instruction is completed. However, if a request for referenceto and updating of a region of a backup volume in which background copyis not completed is issued, then the reference and updating are carriedout after the copying process for the relevant region is carried out.Further, in the QOPC, different from the OPC, an updated portion fromthat at a point of time at which a backup is acquired in the immediatelypreceding cycle is stored after the background copy is completed.Therefore, in the QOPC, production of backup volumes for the second timeand so forth can be carried out merely if only difference data is copiedin the background.

The SnapOPC+ is a function for implementing copy of an operation volumewithout carrying out allocation of a capacity same as that of theoperation volume as a region of a backup volume. By such a function asjust described, reduction of a disk capacity necessary for backup can beimplemented in a user environment wherein it is expected that the entirevolume is not updated and the cost required for the copying can bedecreased. In the SnapOPC+, it is assumed that it is used mainly forvolume production for tape backup. For the backup volume, a virtualvolume having a disk capacity smaller than the capacity of the operationvolume is prepared. The virtual volume can be logically accessed from aserver similarly to a normal volume.

The SnapOPC+ does not carry out copy of the entire operation volume butis implemented by copying, in the case where an operation volume isupdated, data (old data) before updating at an updating target portioninto a backup volume which is a copying destination. Where a backupvolume which is a copying destination is accessed from a server, if anaccess target region is not copied as yet, then the server refers todata in a region of the operation volume corresponding to the accesstarget region in place of the access target region. Further, bypreparing a plurality of backup volumes, backup volumes of a pluralityof generations can be produced.

-   [Patent Document 1] Japanese Patent Laid-Open NO. 2006-107162-   [Patent Document 2] Japanese Patent Laid-Open NO. 2006-048300-   [Patent Document 3] Japanese Patent Laid-Open NO. 2007-334709-   [Patent Document 4] Japanese Patent Laid-Open NO. 2009-146228

If it is intended to implement backup for a plurality of generationsusing the advanced copy functions in the present situation describedabove, that is, the QOPC and the SnapOPC+, then there is such a subjectdescribed as below.

If it is intended to apply the QOPC to implement backup for a pluralityof generations, then a number of volumes having a capacity same as thatof operation volumes equal to the number of generations are required.Therefore, a great amount of disk capacity and a very high cost arerequired.

Further, in the SnapOPC+, while data before updating in a region inwhich updating has been carried out in the operation volume is copiedinto the backup volume, data in a region in which updating has not beencarried out is not copied into the backup volume and backup of the datais not carried out. In other words, data in all regions of the operationvolume are not copied or backed up into the backup volume which is acopying destination. Therefore, if the operation volume is damaged, thenunless updating of data in all regions of the operation volume iscarried out and data before updating are copied into the backup volumebefore the damage, then reference and updating regarding backup volumesof all generations cannot be carried out. Therefore, the data, copied inthe backup volume become useless as the backup.

SUMMARY

According to an aspect of the embodiment, a backup apparatus producesbackup volumes of a plurality of generations regarding a backup targetvolume and comprises a storage section, a first production section, afirst monitoring section and a second production section. The storagesection stores the backup volumes of the plural generations. The firstproduction section copies data in the backup target volume at a point oftime at which a production instruction of a backup volume of a firstgeneration is received into a region for the first generation of thestorage section to produce the backup volume of the first generation.The first monitoring section monitors, as a first update region, aregion to which the data updated in the backup target volume after aproduction instruction of a backup volume of an i−1th generation isissued belongs, i being a natural number equal to or greater than two.The second production section refers, if a production instruction of abackup volume of an ith generation is received, to the first updateregion monitored by the first monitoring section to secure, in thestorage section, a region for the ith generation having a capacitycorresponding to a capacity of the first update region and then copiesthe data in the first update region in the backup target volume at apoint of time at which the production instruction of the backup volumeof the ith generation is received into the region for the ith generationto produce the backup volume of the ith generation.

Meanwhile, according to an aspect of the embodiment, a backup methodproduces backup volumes of a plurality of generations regarding a backuptarget volume in a storage section and comprises a first productionstep, a first monitoring step and a second production step. At the firstproduction step, data in the backup target volume at a point of time atwhich a production instruction of a backup volume of a first generationis received is copied into a region for the first generation of thestorage section to produce the backup volume of the first generation. Atthe first monitoring step, a region to which the data updated in thebackup target volume after a production instruction of a backup volumein an i−1th generation is issued belongs is monitored as a first updateregion, i being a natural number equal to or greater than two. At thesecond production step, if a production instruction of a backup volumein an ith generation is received, the first update region monitored atthe first monitoring step is referred to, to secure, in the storagesection, a region for the ith generation having a capacity correspondingto a capacity of the first update region and then the data in the firstupdate region in the backup target volume at a point of time at whichthe production instruction of the backup volume of the ith generation isreceived is copied into the region for the ith generation to produce thebackup volume of the ith generation.

Further, according to an aspect of the embodiment, a backup programcauses a computer to function as a backup apparatus for producing backupvolumes of a plurality of generations regarding a backup target volumein a storage section and causes the computer to function as the firstproduction section, first monitoring section and second productionsection described above.

The object and advantages of the invention will be realized and attainedby means of the elements and combinations particularly pointed out inthe claims.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory and arenot restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a configuration of a storagesystem to which a backup apparatus of an embodiment is applied;

FIG. 2 is a block diagram illustrating a functional configuration of thebackup apparatus of the present embodiment;

FIG. 3 is a block diagram illustrating an operation volume configurationand a backup volume configuration of the present embodiment;

FIG. 4 is a flow chart illustrating a backup volume production processof the present embodiment;

FIG. 5 is a flow chart illustrating a backup volume reference process ofthe present embodiment;

FIG. 6 is a flow chart illustrating a backup volume updating process ofthe present embodiment;

FIG. 7 is a flow chart illustrating a backup volume deletion process ofthe present embodiment;

FIG. 8 is a view illustrating an example of an initial state of anoperation volume in the present embodiment;

FIGS. 9A and 9B are views illustrating backup volume productionoperation for a first generation of the present embodiment, and whereinFIG. 9A is a view illustrating contents of an operation volume and FIG.9B is a view illustrating contents of a backup volume of the firstgeneration;

FIG. 10 is a view illustrating contents of a first bitmap tablecorresponding to the operation volume shown in FIG. 9A;

FIG. 11 is a view illustrating contents of a mapping table for the firstgeneration, a virtual volume of the first generation and a second bitmaptable corresponding to the backup volume of the first generationillustrated in FIG. 9B;

FIGS. 12A and 12B are views illustrating updating operation for anoperation volume of the present embodiment, and wherein FIG. 12A is aview illustrating contents of an operation volume and FIG. 12B is a viewillustrating contents of a backup volume of the first generation;

FIG. 13 is a view illustrating contents of a first bitmap tablecorresponding to the operation volume illustrated in FIG. 12A;

FIGS. 14A and 14B are views illustrating updating operation for anoperation volume of the present embodiment, and wherein FIG. 14A is aview illustrating contents of an operation volume and FIG. 14B is a viewillustrating contents of a backup volume of the first generation;

FIG. 15 is a view illustrating contents of a first bitmap tablecorresponding to the operation volume illustrated in FIG. 14A;

FIGS. 16A and 16B are views illustrating reference operation for abackup volume of the first generation of the present embodiment, andwherein FIG. 16A is a view illustrating contents of an operation volumeand FIG. 16B is a view illustrating contents of a backup volume of thefirst generation;

FIGS. 17A and 17B are views illustrating updating operation for a backupvolume of the first generation of the present embodiment, and whereinFIG. 17A is a view illustrating contents of an operation volume and FIG.17B is a view illustrating contents of a backup volume of the firstgeneration;

FIG. 18 is a view illustrating contents of a mapping table for the firstgeneration, a virtual volume of the first generation and a second bitmaptable corresponding to the backup volume of the first generationillustrated in FIG. 17B;

FIG. 19A to 19C are views illustrating backup volume productionoperation for a second generation of the present embodiment, and whereinFIG. 19A is a view illustrating contents of an operation volume, andFIGS. 19B and 19C are views illustrating contents of backup volumes inthe first and second generations, respectively;

FIG. 20 is a view illustrating contents of the first bitmap tablecorresponding to the operation volume illustrated in FIG. 19A;

FIG. 21 is a view illustrating contents of a mapping table for thesecond generation, a virtual volume of the second generation and asecond bitmap table corresponding to the backup volume in the secondgeneration illustrated in FIG. 19B;

FIGS. 22A to 22C are views illustrating updating operation for anoperation volume of the present embodiment, and wherein FIG. 22A is aview illustrating contents of an operation volume, and FIGS. 22B and 22Care views illustrating contents of backup volumes of the first andsecond generations, respectively;

FIG. 23 is a view illustrating contents of a first bitmap tablecorresponding to the operation volume illustrated in FIG. 22A;

FIGS. 24A to 24C are views illustrating reference operation for a backupvolume of the second generation of the present embodiment, and whereinFIG. 24A is a view illustrating contents of an operation volume, andFIGS. 24B and 24C are views illustrating contents of backup volumes ofthe first and second generations, respectively;

FIGS. 25A to 25C are views illustrating updating operation for a backupvolume of the second generation of the present embodiment, and whereinFIG. 25A is a view illustrating contents of an operation volume, andFIGS. 25B and 25C are views illustrating contents of backup volumes ofthe first and second generations, respectively;

FIG. 26 is a view illustrating contents of a mapping table for thesecond generation, a virtual volume of the second generation and asecond bitmap table corresponding to the backup volume in the secondgeneration illustrated in FIG. 25C;

FIGS. 27A to 27C are views illustrating updating operation for a backupvolume of the first generation of the present embodiment, and whereinFIG. 27A is a view illustrating contents of an operation volume, andFIGS. 27B and 27C are views illustrating contents of backup volumes ofthe first and second generations, respectively;

FIG. 28 is a view illustrating contents of a mapping table for the firstgeneration and a virtual volume of the first generation corresponding tothe backup volume of the first generation illustrated in FIG. 27B;

FIG. 29 is a view illustrating contents of a mapping table for thesecond generation, a virtual volume of the second generation and asecond bitmap table corresponding to the backup volume of the secondgeneration illustrated in FIG. 27C;

FIGS. 30A to 30D are views illustrating production operation for abackup volume of the third generation of the present embodiment, andwherein FIG. 30A is a view illustrating contents of an operation volumeand FIGS. 30B to 30D are views illustrating contents of backup volumesof the first to third generations, respectively;

FIG. 31 is a view illustrating contents of a first bitmap tablecorresponding to the operation volume illustrated in FIG. 30A;

FIG. 32 is a view illustrating contents of a mapping table for the thirdgeneration, a virtual volume of the third generation and a second bitmaptable corresponding to the backup volume of the third generationillustrated in FIG. 30D;

FIGS. 33A to 33D are views illustrating reference operation for a backupvolume of the third generation of the present embodiment, and whereinFIG. 33A is a view illustrating contents of an operation volume andFIGS. 33B to 33D are views illustrating contents of backup volumes ofthe first to third generations, respectively;

FIGS. 34A to 34D are views illustrating updating operation for a backupvolume of the second generation of the present embodiment, and whereinFIG. 34A is a view illustrating contents of an operation volume andFIGS. 34B to 34D are views illustrating contents of backup volumes ofthe first to third generations, respectively;

FIG. 35 is a view illustrating contents of a mapping table for thesecond generation and a virtual volume of the second generationcorresponding to the backup volume of the second generation illustratedin FIG. 34C;

FIG. 36 is a view illustrating contents of a mapping table for the thirdgeneration, a virtual volume of the third generation and a second bitmaptable corresponding to the backup volume of the third generationillustrated in FIG. 34D;

FIGS. 37A to 37D are views illustrating deletion operation for a backupvolume of the first generation of the present embodiment, and whereinFIG. 37A is a view illustrating contents of an operation volume andFIGS. 37B to 37D are views illustrating contents of backup volumes ofthe first to third generations, respectively; and

FIG. 38 is a view illustrating contents of a mapping table for thesecond generation and a virtual volume of the second generationcorresponding to the backup volume of the second generation illustratedin FIG. 37C.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following, embodiments are described with reference to thedrawings.

[1] Configuration of the Present Embodiment

[1-1] Configuration of the Storage System

FIG. 1 is a block diagram showing a configuration of a storage system 1to which a backup apparatus 100 (refer to FIG. 2) of the presentembodiment is applied.

As shown in FIG. 1, the storage system 1 is connected to an operationserver 2 as a host computer (Host), and receives various requests fromthe operation server 2 and carries out various processes in accordancewith the requests. The storage system. 1 includes four CAs (ChannelAdapters) 11, two CMs (Centralized Modules) 12 and four disks (HDDs;Disks) 13 all of which are provided in the same housing. It is to benoted that, while a disk (HDD) 13 is used as a storage device in thestorage system 1 of the present embodiment, a different storage devicesuch as an SSD (Solid State Device) may be used.

Each CA 11 carries out interface control with the operation server 2 andcarries out data communication with the operation server 2.

Each CM 12 is connected to the two CAs 11, 11 and the two disks 13, 13,and carries out resource management in the present storage system 1.Further, each CM 12 carries out various processes (a data writingprocess, a data updating process, a data readout process, a data copyingprocess and so forth) for the two disks 13, 13 in accordance with arequest from the operation server 2 or from a different CM 12. Further,the two CMs 12 are connected to each other through a bus and are eachconfigured for accessing to the disks 13 accommodated in the other CM12.

Each disk 13 has user data, control information and so forth storedthereon. In the storage system 1 of the present embodiment, an operationvolume 13 a accessed by the operation server 2 is stored as a backuptarget volume on one disk 13 accommodated in one of the CMs 12. Further,backup volumes 13 b-1 to 13 b-i (i indicates a natural number equal toor higher than 2; refer to FIG. 3) of a plurality of generationsregarding the operation volume 13 a are stored into a backup volumeregion 13 b of one disk 13 accommodated in the other one of the CMs 12.

It is to be noted that, as the operation volume 13 a, all of dataregions of the one disk 13 may be used or part of the data regions ofthe one disk 13 may be used. Similarly, as the backup volume 13 b, allof the data regions of the one disk 13 may be used or part of the dataregions of the one disk 13 may be used. Further, while, in the presentembodiment, the operation volume 13 a and the backup volumes 13 b-1 to13 b-i are stored on the disks 13, 13 individually connected to the CMs12, 12 different from each other, they may be stored on the disks 13, 13different from each other and connected to the same CM 12 or may bestored on the same disk 13. Further, while, in the present embodiment,the operation volume 13 a and the backup volumes 13 b-1 to 13 b-i areprovided in the same housing, they may be provided individually inhousings different from each other.

Each CM 12 includes a CPU (Central Processing Unit) 21, a cache memory22, two DAs (Device Adapters) 23 and a backup controlling section 24.The two DAs 23, 23 individually carry out interface control with the twodisks 13, 13 individually accommodated in the CM 12 and carry out datacommunication with the disks 13. The cache memory (Cache) 22 stores userdata, control data and so forth and temporarily stores data to bewritten from the operation server 2 on the disks 13 and data read outfrom each disk 13 to the operation server 2 or the other CM 12. The CPU21 manages the cache memory 22, DA 23 and backup controlling section 24hereinafter described.

[1-2] Configuration/Operation of the Backup Apparatus 100

FIG. 2 is a block diagram illustrating a functional configuration of thebackup apparatus 100 according to the present embodiment, and FIG. 3 isa block diagram illustrating a configuration of an operation volume anda configuration of a backup volume in the present embodiment.

As shown in FIG. 2, the backup apparatus 100 according to the presentembodiment produces backup volumes 13 b-1 to 13 b-i (refer to FIG. 3) ofa plurality of generations regarding the operation volume 13 a in thebackup volume region 13 b. The backup apparatus 100 includes theoperation volume 13 a, backup volume region (storage section) 13 b andbackup controlling section (Backup) 24.

[1-2-1] Configuration of the Operation Volume and the Backup Volume

Here, as shown in FIG. 3, a normal volume is used as the operationvolume 13 a which serves as a copy source and a virtual volume is usedas the backup volumes 13 b-1 to 13 b-i which serve as copy destinations.The virtual volume is secured and allocated as physical regions 131-1 to131-i for the individual generations. A first generation region 131-1 issecured as a region having a capacity equal to the capacity of theoperation volume 13 a in the backup volume region 13 b by a firstproduction section 241 hereinafter described. Meanwhile, second to ithgeneration regions 131-2 to 131-i are individually secured as regionshaving a capacity smaller than the capacity of the operation volume 13 ain the backup volume region 13 b by a second production section 244hereinafter described. Particular capacities of the regions 131-2 to131-i secured by the second production section 244 are hereinafterdescribed. It is to be noted that, in the present embodiment, it ispremised that the backup apparatus 100 is applied to a user environmentwherein it is expected that the entire operation volume 13 a is notupdated.

Then, it looks that the operation server 2 accesses the backup volumes13-1 to 13-i of the individual generations of the backup apparatus 100using a logical address to physically access the physical regions 131-1to 131-i for the generations. Actually, a logical address from theoperation server 2 is converted into a physical address using mappingtables 132-1 to 132-i hereinafter described, and then physical accessingto the physical regions 131-1 to 131-i for the generations is executedusing the physical address.

In particular, the mapping tables 132-1 to 132-i for the first to ithgenerations are provided for the backup volumes 13-1 to 13-i of theplural generations. The first to ith generation mapping tables 132-1 to132-i associate logical addresses and physical addresses of the dataregions in the physical regions 131-1 to 131-i with each other. Themapping tables 132-1 to 132-i are address conversion tables forconverting a logical address included in a request from the operationserver 2 into a physical address of a backup volume of a targetgeneration. It is to be noted that the mapping table 132-1 for the firstgeneration is produced by the first production section 241 hereinafterdescribed, and the mapping tables 132-2 to 132-i for the second to ithgenerations are produced by the second production section 244hereinafter described.

By mapping the logical regions individually to the physical regions ofthe virtual volumes 131-1 to 131-i using the mapping tables 132-1 to132-i, a logical backup volume (logical volume) is implemented. Inparticular, while the logical volumes in the backup volumes 13-1 to 13-iof the generations do not really exist physically, it looks from theoperation server 2 that the backup volumes actually exist. In the casewhere the logical volumes of the generations are viewed from theoperation server 2, it looks that all data of an operation volume of atarget generation are backed up in a logical volume of the targetgeneration as hereinafter described in detail with reference to FIGS. 8to 38. Accordingly, in the present embodiment, by preparing such pluralvirtual volumes 131-1 to 131-i as described above, the virtual backupvolumes 13 b-1 to 13 b-i of the plural generations can be produced. Itis to be noted that, while the logical volume shown in FIG. 3 is merelyillustrated such that it virtually looks from the operation volume 2,the logical volume is not actually provided in the backup volumes 13 b-1to 13 b-i.

[1-2-2] Configuration/Function/Operation of the Backup ControllingSection 24

The backup controlling section 24 receives various requests from theoperation server 2 and executes various processes relating to theoperation volume 13 a and the backup volumes 13 b-1 to 13 b-i ashereinafter described with reference to FIGS. 4 to 38. As shown in FIG.2, the backup controlling section 24 includes a first production section241, a first monitoring section 242, a second monitoring section 243, asecond production section 244, a reference processing section 245, anupdating processing section 246 and a deletion processing section 247.

[A1] First Production Section 241

The first production section 241 copies all data of the operation volume13 a at a point of time at which a production instruction of a backupvolume of the first generation is received from the operation server 2into the first generation physical region 131-1 of the backup volumeregion 13 b to produce a backup volume 13 b-1 in the first generation.At this time, the first production section 241 produces the backupvolume 13 b-1 of the first generation using a method similar to that ofthe OPC described above. Further, the first production section 241secures a physical region 131-1 having a capacity equal to that of theoperation volume 13 a in the backup volume region 13 b and copies alldata of the operation volume 13 a into the secured physical region 131-1in its downward direction in the order of the physical address (refer toFIG. 11). Further, the first production section 241 produces also afirst generation table 132-1 for associating logical addresses andphysical addresses of data in the physical region 131-1 with each other(refer to FIG. 11).

It is to be noted that the table 132-1 has a size corresponding to thecapacity of the operation volume 13 a. In particular, the firstproduction section 241 secures a region having the size just describedin the backup volume region 13 b and produces the table 132-1 in thesecured region.

Such a particular production process of a backup volume in the firstgeneration by the first production section 241 as described above ishereinafter described, for example, with reference to a process at stepS2 in FIG. 4 and to FIG. 9A to 11.

[A2] First Monitoring Section 242

The first monitoring section 242 monitors a region to which data updatedin the operation volume 13 a within a period after a productioninstruction of a backup volume in a certain generation (i−1thgeneration) is received until another production instruction of a backupvolume of a next generation (ith generation) is received belongs as afirst update region. At this time, the first monitoring section 242monitors the first update region using a first bitmap table 242 a havinga size corresponding to the capacity of the operation volume 13 a (referto FIGS. 13, 15 and 23).

The first bitmap table 242 a is provided in the operation volume 13 a orthe first monitoring section 242 in order to monitor an update situationof the operation volume 13 a. Bits corresponding to individual regionsof the operation volume 13 a are set in the first bitmap table 242 a.Then, if data belonging to any region is not updated, then “0” is placedinto the corresponding bit, but if data belonging to any region isupdated, then “1” is placed into the corresponding bit. It is to benoted that the first bitmap table 242 a may be provided in a storageregion other than that of the operation volume 13 a or the firstmonitoring section 242.

Further, the first monitoring section 242 clears all bits of the firstbitmap table 242 a to “0” after a production instruction of a backupvolume of any generation is received (refer to FIGS. 10, 20 and 31).

Such a particular updating monitoring process of the operation volume 13a by the first monitoring section 242 as described above is hereinafterdescribed, for example, with reference to FIGS. 12A to 15 and 22A to 23.

[A3] Second Monitoring Section 243

The second monitoring section 243 monitors a region to which dataupdated in a backup volume 13 b-(i−1) of the i−1th generation within aperiod after a production instruction of a backup volume of a generation(i−1th generation) is received until another production instruction of abackup volume of a next generation (ith generation) is received belongsas a second update region. At this time, the second monitoring section243 monitors the second update region using a second bitmap table 243 ahaving a size corresponding to the capacity of the backup volume 13b-(i−1) of the i−1th generation (refer to FIGS. 18 and 26).

The second bitmap table 243 a is provided in the backup volume region 13b or the second monitoring section 243 in order to monitor an updatesituation of a backup volume in the latest generation. Bitscorresponding to individual regions of the backup volume in the latestgeneration are set in the second bitmap table 243 a. If data belongingto any region is not updated, then “0” is placed into the correspondingbit, but if data belonging to any region is updated, the “1” is placedinto the corresponding bit. It is to be noted that the second bitmaptable 243 a may be provided in a storage region other than that of thebackup volume region 13 b or the second monitoring section 243.

Further, after a production instruction of a backup volume of eachgeneration is received, the second monitoring section 243 clears thesecond bitmap table 243 a for the preceding generation and secures aregion for the second bitmap table 243 a having a size corresponding tothe capacity of the backup volume of a production target generation(refer to FIGS. 11, 21 and 32).

Such a particular updating monitoring process of a backup volume of thelatest generation by the second monitoring section 243 as describedabove is hereinafter described, for example, with reference to FIGS.17A, 17B, 18, 25A to 25C and 26.

[A4] Second Production Section 244

If the second production section 244 receives a production instructionof a backup volume of the ith generation, then it produces a backupvolume 13 b-i of the ith generation based on a result of the monitoringby the first monitoring section 242 and the second monitoring section243.

Thereupon, the second production section 244 refers to the first bitmaptable 242 a to recognize the first update region of the operation volume13 a and secures an ith generation physical region 131-i of a capacitycorresponding to the capacity of the first update region in the backupvolume region 13 b. Then, the second production section 244 copies datain the first update region of the operation volume 13 a at the point oftime at which the production instruction of a backup volume of the ithgeneration is received into the physical region 131-i in its downwarddirection in the order of the physical address to produce a backupvolume 13 b-i of the ith generation.

Further, the second production section 244 refers to the second bitmaptable 243 a to recognize a second update region in the latest generationbackup volume and secures an ith generation physical region 131-i of acapacity corresponding to the capacity of the second update region inthe backup volume region 13 b. It is to be noted that, if a first updateregion exists while a second update region does not exist, then an ithgeneration physical region 131-i of a capacity same as the capacity ofthe first update region is secured, but if a second update region existswhile a first update region does not exist, then an ith generationphysical region 131-i having a capacity same as the capacity of thesecond update region is secured. Further, if none of first and secondupdate regions exist, then an ith generation physical region 131-i of acapacity same as the sum of the capacity of the first update region andthe second update region is secured.

Then, the second production section 244 copies data in a region of theoperation volume 13 a corresponding to the second update region at apoint of time at which a production instruction of a backup volume ofthe ith generation into the ith generation physical region 131-i in itsdownward direction in the order of the physical address to produce aphysical region 13 b-i of the ith generation. It is to be noted that, ifa first update region exists while a second update region does notexist, then only data in the first update region is copied into the ithgeneration physical region 131-i, but if a second update region existswhile a second update region does not exist, then only data in theregion corresponding to the second update region is copied into the ithgeneration physical region 131-i. Further, if none of first and secondupdate region exist, then data in the first update region and a regioncorresponding to the second update region are coped into the ithgeneration physical region 131-i in its downward direction in the orderof the physical address.

Further, upon production of the physical region 13 b-i of the ithgeneration, the second production section 244 produces also an ithgeneration table 132-i for associating logical addresses and physicaladdress of data in the physical region 131-i with each other (refer toFIGS. 21 and 32). This table 132-i has a size corresponding to thecapacity of the backup volume 13 b-i of the production targetgeneration. In particular, the second production section 244 secures aregion of the size in the backup volume region 13 b and produces a table132-i in the secured region. It is to be noted that the table 132-i maybe produced in a storage region other than the backup volume region 13b.

A particular production process of a backup volume 13 b-i of the ithgeneration in accordance with a request from the operation server 2 bysuch a second production section 244 as described above is hereinafterdescribed, for example, with reference to steps S4 and S6 of FIG. 4 andto FIGS. 19A to 21 and 30A to 32.

(A5) Backup Volume Production Process

Here, functions and operation of the first production section 241, firstmonitoring section 242, second monitoring section 243 and secondproduction section 244, or in other words, a backup volume productionprocess [a1] to [a7] of the present embodiment, is described withreference to a flowchart (steps S1 to S6) illustrated in FIG. 4.

[a1] If the backup controlling section 24 receives a backup volumeproduction instruction from the operation server 2, then it decideswhether or not the generation of a backup volume of a production targetis the first generation (generation 1) (step S1). At this time, thedecision of whether or not the generation of the backup volume of theproduction target is the generation 1 can be carried out based onwhether or not a backup volume is already produced in the backup volumeregion 13 b. In other words, if no backup volume is produced in thebackup volume region 13 b when the backup volume production instructionis received from the operation server 2, then the backup controllingsection 24 decides that the generation of the backup volume of theproduction target is the generation 1. Alternatively, the decisiondescribed above can be carried out also by referring to informationindicative of a production target generation, which is included in thebackup volume production instruction from the operation server 2.

[a2] If it is decided that the generation of the backup volume of theproduction target is the first generation (YES route of step S1), thenthe first production section 241 secures, in the backup volume region 13b, a first generation virtual volume (physical region) 131-1 of acapacity same as that of the operation volume 13 a. Then, the firstproduction section 241 copies all data of the operation volume 13 a atthe point of time at which the current production instruction isreceived into the secured physical region 131-1 (step S2). At this time,the first production section 241 produces also a first generation table132-1 for associating logical addresses and physical addresses of thephysical region 131-1 with each other. Thereafter, the backupcontrolling section 24 (first production section 241) ends theprocessing.

[a3] If it is decided that the generation of the backup volume of theproduction target is not the first generation (NO route of step S1), orin other words, if the generation of the backup volume of the productiontarget is a second or succeeding generation, then the backup controllingsection 24 decides whether or not the backup volume of the immediatelypreceding generation is updated (step S3). At this time, if it isdecided that the generation of the backup volume of the productiontarget is an ith generation, then the backup controlling section 24refers to the second bitmap table 243 a to decide whether or not data ofthe backup volume of the immediately preceding generation, that is, ofthe i−1th generation, is updated. If at least one bit which is set to“1” exists in the second bitmap table 243 a, then it is decided thatdata updating is carried out in the backup volume of the immediatelypreceding generation. On the other hand, if “0” is set to all bits inthe second bitmap table 243 a, then it is decided that data updating isnot carried out in the backup volume of the immediately precedinggeneration.

[a4] If it is decided that updating is carried out in the backup volumeof the immediately preceding generation (YES route of step S3), then thesecond production section 244 refers to the second bitmap table 243 a torecognize the second update region of the latest generation backupvolume. Then, the second production section 244 secures an ithgeneration virtual volume (physical region) 131-i of a capacity equal tothat of the second update region in the backup volume region 13 b. Then,the second production section 244 copies data in a region of theoperation volume 13 a corresponding to the second update region at thepoint of time at which the current production instruction is receivedinto the ith generation physical region 131-i in its downward directionin the order of the physical address (step S4). At this time, the regionof the operation volume 13 a corresponding to the second update regionof the backup volume 13 b-(i−1) of the i−1th generation can be specifiedbased on the second bitmap table 243 a and the i−1th generation table132-(i−1). Further, the second production section 244 secures a regionof a size corresponding to the capacity of the backup volume 13 b-iproduced here in the backup volume region 13 b and produces, in thesecured region, an ith generation table 132-i for associating logicaladdresses and physical addresses of data in the physical region 131-iwith each other.

[a5] After the process at step S4 or when it is decided that the backupvolume of the immediately preceding generation is not updated (NO routeof step S3), the backup controlling section 24 decides whether or notthe operation volume 13 a is updated (step S5). At this time, the backupcontrolling section 24 refers to the first bitmap table 242 a to decidewhether or not data updating is carried out in the operation volume 13a. If at least one bit which is set to “1” exists in the first bitmaptable 242 a, then it is decided that data updating is carried out in theoperation volume 13 a. On the other hand, if “0” is set to all bits inthe first bitmap table 242 a, then it is decided that data updating isnot carried out in the operation volume 13 a.

[a6] If it is decided that updating is carried out in the operationvolume 13 a (YES route of step S5), then the second production section244 refers to the first bitmap table 242 a to recognize the first updateregion in the operation volume 13 a. Then, the second production section244 secures an ith generation virtual volume (physical region) 131-i ofa capacity same as that of the first update region in the backup volumeregion 13 b. Then, the second production section 244 copies the data inthe first update region of the operation volume 13 a into the securedphysical region 131-i in its downward direction in the order of thephysical address based on the first bitmap table 242 a (step S6). Atthis time, the second production section 244 secures a region of a sizecorresponding to the capacity of the backup volume 13 b-i produced herein the backup volume region 13 b and produces, in the secured region, anith generation table 132-i for associating logical addresses andphysical addresses of data in the physical region 131-i, similarly as atstep S4.

[a7] After the processing at step S6 or when it is decided that theoperation volume 13 a is not updated (NO route of step S3), the backupcontrolling section 24 (first monitoring section 242) ends theprocessing.

The first production section 241 and the second production section 244in the present embodiment produce the backup volume 13 b-1 of the firstgeneration and the backup volume 13 b-i of the ith generation in such amanner as described above, respectively.

Consequently, in the backup volume region 13 b, the volume 13 b-1 of thefirst generation has a capacity same as that of the operation volume 13a and stores all data of the operation volume 13 a. Meanwhile, a volumeof the second or succeeding generation has a capacity corresponding tothe capacity of the update region and stores only data of the updateregion. Consequently, the capacity of the physical region used by thevolume of the second or succeeding generation is suppressed to a minimumnecessary level, and also the size of the mapping table for eachgeneration and the second bitmap table 243 a can be suppressed to aminimum necessary level.

It is to be noted that the execution order of steps S1 to S6 is notlimited to that of the example illustrated in FIG. 4. For example, inthe process after the NO route of step S1, steps S3 and S4 may beexecuted after steps S5 and S6 are executed. Or, after steps S3 and S5are executed collectively as one step, steps S4 and S6 may be executedcollectively as one step.

[A6] Reference Processing Section 245

If the reference processing section 245 receives, from the operationserver 2, a reference request to data in a backup volume of a particulargeneration from among a plurality of generations, then it executes areference process to the backup volume of the particular generation inthe following manner. Here, functions and operation of the referenceprocessing section 245, or in other words, a backup volume referenceprocess [b1] to [b4] in the present embodiment, is described withreference to a flow chart (steps S11 to S15) shown in FIG. 5. It isassumed here that the particular generation is, for example, a kthgeneration (k is a natural number from 1 to i).

[b1] The reference processing section 245 decides whether or not datacopy by the first production section 241 or the second productionsection 244 is carried out in a relevant region of the backup volume ofthe particular generation designated as a reference target region by thereference request, or in other words, whether or not the relevant regionis copied already (step S11). At this time, the reference processingsection 245 searches the particular generation table 132-k based on alogical address included in the reference request and designating thereference target region and decides, if a physical address correspondingto the logical address is registered in the particular generation table132-k, that the relevant region is copied already.

[b2] If it is decided that the relevant region is copied already (YESroute of step S11), then the reference processing section 245 reads outdata in the relevant region as reference data from the particulargeneration virtual volume (physical region) 131-k and causes theoperation server 2 to refer to the reference data (step S12), whereafterthe reference process is ended. At this time, the reference processingsection 245 reads out the data in the region designated by the address(refer to [b1]) registered in the particular generation table 132-k asthe reference data from the particular generation virtual volume 131-k.

[b3] If it is decided that the relevant region is not copied as yet (NOroute of step S11), then the reference processing section 245 refers toa relevant region designated as the reference target region by thereference request in regard to the backup volume of a generation olderby one generation than the particular generation (step S13). Then, thereference processing section 245 decides whether or not data copy by thefirst production section 241 or the second production section 244 iscarried out in the relevant region of the backup volume older by onegeneration then the particular generation, or in other words, whether ornot the relevant region is copied already (step S14). Also at this time,the reference processing section 245 searches the k−1th generation table132-(k−1) based on the logical address which designates the referencetarget region and decides, if a physical address corresponding to thelogical address is registered in the k−1th generation table 132-(k−1),that the relevant region is copied already.

[b4] The reference processing section 245 repeats the processes at stepsS13 and S14 tracing back the generation one by one until it is decidedat step S14 that the relevant region is copied already. It is assumedhere that, as a result of the processes at steps S13 and S14, thereference processing section 245 decides that the relevant region iscopied already in the backup volume of the jth generation (j is anatural number which satisfies 1≦j<k) (YES route of step S14). In otherwords, it is assumed that a physical address corresponding to thelogical address is registered in the jth generation table 132-j. In thisinstance, the reference processing section 245 reads out the data in therelevant region as reference data from the jth generation physicalvolume (physical region) 131-j and causes the operation server 2 torefer to the reference data (step S15), whereafter the reference processis ended. It is to be noted that, at this time, the reference processingsection 245 read out the data in the region designated by the physicaladdress registered in the particular generation table 132-j as thereference data from the physical region 131-j. Consequently, thereference processing section 245 successively traces back and refers tothe relevant regions in the backup volumes in the old generations andreads out the data in the relevant region at a point of time at which itis decided that the relevant region is copied already.

It is to be noted that a particular reference process for a particulargeneration backup volume in accordance with a reference request from theoperation server 2 by such a reference processing section 245 asdescribed above is hereinafter described, for example, with reference toFIGS. 16A, 16B, 24A to 24C and 33A to 33D.

[A7] Updating Processing Section 246

If the updating processing section 246 receives an updating request ofdata in a backup volume of a particular generation from among aplurality of generations from the operation server 2, then it executesan updating process for the backup volume of the particular generationin the following manner. Here, functions and operation of the updatingprocessing section 246, or in other words, a backup volume updatingprocess [c1] to [c5] in the present embodiment, is described withreference to a flow chart (steps S21 to S27) illustrated in FIG. 6. Itis assumed also here that the particular generation is, for example, akth generation (k is a natural number from 1 to i).

[c1] If the updating processing section 246 receives a backup volumeupdating request from the operation server 2, then it decides whether ornot the particular generation (kth generation) designated by theupdating request is the latest generation (ith generation), or in otherwords, whether or not k=i (step S21).

[c2] If it is decided that the particular generation is the latestgeneration (k=i) (YES route of step S21), then the updating processingsection 246 updates the data in the relevant region of the latestgeneration virtual volume 131-i designated as the update target regionby the updating request into the update data designated by the updatingrequest (step S22), and then the updating process is ended. At thistime, in response to the updating process by the updating processingsection 246, the second monitoring section 243 sets the correspondingbit of the second bitmap table 243 a to “1” to record that the dataupdating is carried out in the region (refer to FIGS. 17A, 17B and 18).Further, if a new region is added to the backup volume 13 b-i upon theupdating process by the updating processing section 246, then a newregion is secured in the second bitmap table 243 a, latest generationvirtual volume 131-i and latest generation table 132-i and correspondinginformation is registered into the secured regions (refer to FIGS. 25Ato 25C and 26).

[c3] If it is decided that the particular generation is any other thanthe latest generation (k<i) (NO route of step S21), then the updatingprocessing section 246 carries out the following process. In particular,the updating processing section 246 refers to a relevant regiondesignated as the updating target region by the updating request inregard to the backup volume 13 b-(k+1) of a next generation to theparticular generation. Then, the updating processing section 246 decideswhether or not data copy by the first production section 241 or thesecond production section 244 is carried out in the relevant region ofthe backup volume 13 b-(k+1) of the next generation, or in other words,whether or not the relevant region is copied already (step S23). At thistime, the updating processing section 246 searches the table 132-(k+1)based on the logical address which designates the updating target regionand decides, if a physical address corresponding to the logical addressis registered in the table 132-(k+1), that the relevant region is copiedalready.

[c4] If it is decided that the relevant region in the backup volume ofthe next generation is copied already (YES route of step S23), then theupdating processing section 246 carries out the following process. Inparticular, the updating processing section 246 updates the data in therelevant region of the backup volume of the particular generation(updating target generation) into the update data designated by theupdating request (step S24), and then the updating process is ended. Inthis instance, since the data before updating in the relevant region isstored in the backup volume of the next generation, data updating forthe backup volume of the particular generation is carried out withoutcarrying out a special storage process or the like.

[c5] If it is decided that the relevant region of the backup volume ofthe next generation is not copied (NO route of step S23), then theupdating processing section 246 carries out the following process. Inparticular, the updating processing section 246 issues a referencerequest, which designates the relevant region of the backup volume 13b-k of the particular generation as a reference target region, to thereference processing section 245 (step S25). Then, if the updatingprocessing section 246 receives data read out by processing (refer toFIG. 5) of the reference processing section 245 in accordance with thereference request, then it copies the read out data into the relevantregion of the backup volume 13 b-(k+1) of the next generation (stepS26). Thereafter, the updating processing section 246 updates the datain the relevant region in the backup volume 13 b-k of the particulargeneration into the update data indicated by the updating request (stepS27), and then the updating process is ended. At this time, if a newregion is added to the backup volume 13 b-k of the particular generationor the backup volume 13 b-(k+1) of the next generation in response tothe updating process by the updating processing section 246, then a newregion is secured in the second bitmap table 243 a, physical regions131-k and 131-(k+1) and tables 132-k and 132-(k+1), and correspondinginformation is registered into the newly secured regions (refer to FIGS.27A to 29 and 34A to 36). By such an updating process as describedabove, it becomes possible to refer to the update data only in therelevant region of the backup volume 13 b-k of the particular generationwhile, in the relevant region of a backup volume 13 b-m (m is a naturalnumber which satisfies k<m≦i) of a generation later than the particulargeneration, it becomes possible to refer to the pre-update data.

It is to be noted that a particular updating process for a particulargeneration backup volume in accordance with an updating request from theoperation server 2 by such an updating processing section 246 asdescribed above is hereinafter described, for example, with reference toFIGS. 17A, 17B, 18, 25A to 29 and 34A to 36.

[A8] Deletion Processing Section 247

If the deletion processing section 247 receives a deletion request of abackup volume of a particular generation from among a plurality ofgenerations from the operation server 2, then it executes a deletionprocess of the backup volume of the particular generation in thefollowing manner. Here, functions and operation of the deletionprocessing section 247, or in other words, a backup volume deletionprocess [d1] to [d6] in the present embodiment, is described withreference to a flow chart (steps S31 to S35) illustrated in FIG. 7. Itis assumed also here that the particular generation is, for example, akth generation (k is a natural number from 1 to i).

[d1] If the deletion processing section 247 receives a backup volumedeletion request, then it decides whether or not there exists a backupvolume of a generation later than the particular generation (kthgeneration) designated by the deletion request (step S31).

[d2] If it is decided that there exists no backup volume of a generationlater than the particular generation (k=i; NO route of step S31), thenthe deletion processing section 247 carries out the following process.In particular, the deletion processing section 247 deletes therelationship between the virtual volume 131-k of the backup volume ofthe particular generation and the operation volume 13 a thereby todelete the backup volume 13 b-k of the particular generation (step S32),and then the deletion process is ended. The relationship deleted hereis, for example, the mapping table 132-k for the particular generationor the like. By carrying out such deletion of the relationship, theoperation server 2 is disabled from accessing the backup volume 13 b-kof the particular generation, and substantially a state in which thebackup volume 13 b-k of the particular generation is detected isestablished.

[d3] If it is decided that there exists a backup volume of a generationlater than the particular generation (k<i; YES route of step S31), thenthe deletion processing section 247 carries out the following process.In particular, the deletion processing section 247 searches for a copiedregion of the backup volume 13 b-k of the particular generation and anon-copied region of the backup volume 13 b-(k+1) of a generation nextto the particular generation (step S33). Here, the copied region is aregion into which data copy by the first production section 241 or thesecond production section 244 has been carried out in the physicalregion 131-k of the backup volume of the particular generation.Meanwhile, the non-copied region is a region into which data copy by thefirst production section 241 or the second production section 244 hasnot been carried out in the physical region 131-(k+1) of the nextgeneration. The copied region of the physical region 131-k can besearched out by referring to the particular generation table 132-k, andsimilarly, the non-copied region of the physical region 131-(k+1) can besearched out by referring to the k−1th generation table 132-(k+1)

[d4] The deletion processing section 247 compares the copied region andthe non-copied region searched out in this manner with each other todecide whether or not there exists a region with regard to which datacopy is carried out in the backup volume 13 b-k of the particulargeneration but is not carried out in the backup volume 13 b-(k+1) of thenext generation (step S34).

[d5] If it is decided at step S34 that such a region as described abovedoes not exist (NO route), then the deletion processing section 247advances the processing to step S32 described in [d2] above and deletesthe backup volume 13 b-k of the particular generation (step S32).Thereafter, the deletion process is ended.

[d6] If it is decided at step S34 that such a region as described aboveexists (YES route), then the deletion processing section 247 executesthe following process. In particular, the deletion processing section247 copies the data in the relevant region (copied region) of thephysical region 131-k of the backup volume of the particular generationinto the relevant region (non-copied region) of the physical region131-(k+1) of the backup volume of the next generation (step S35). Atthis time, if a new region is added to the backup volume 13 b-(k+1) ofthe next generation in response to the copying process at step S35, thenthe following process is described further. In particular, a new regionis secured in the virtual volume 131-(k+1) and table 132-(k+1), and ifthe next generation is the latest generation, then a new region issecured also in the second bitmap table 243 a. Then, correspondinginformation is registered into the newly secured regions (refer to FIGS.37A to 38). Thereafter, the deletion processing section 247 advances theprocessing to step S32 described in [d2] given hereinabove and deletesthe backup volume 13 b-k of the particular generation (step S32), andthen the deletion process is ended.

By carrying out deletion after the copy process at step S35 as describedabove, data which was stored in the particular generation (deletionobject generation) but was not stored in the next generation is storedinto the backup volume of the next generation. Consequently, even if thebackup volume of the particular generation is deleted, the data can beprevented from disappearing from the backup volume region 13 b by thedeletion, and all data are maintained in the backup volume region 13 bin such a state that they can be referred to and restored.

It is to be noted that such a deletion process of a particulargeneration backup volume in accordance with a deletion request from theoperation server 2 by the deletion processing section 247 as describedabove is hereinafter described, for example, with reference to FIGS. 37Ato 38.

[A9] Others

It is to be noted that, in FIGS. 1 and 2, the copying source side one ofthe two backup controlling sections 24, 24 is denoted by referencecharacter 24 a while the copying destination side one is referred to byreference character 24 b. The copy source backup controlling section 24a and the copy destination backup controlling section 24 b may beconfigured similarly to the backup controlling section 24 describedhereinabove with reference to FIG. 2. Or, one of the copy source backupcontrolling section 24 a and the copy destination backup controllingsection 24 b may have same functions as those of the backup controllingsection 24 illustrated in FIG. 2. Further, the configuration same asthat of the backup controlling section 24 illustrated in FIG. 2 may beprovided across the copy source backup controlling section 24 a and thecopy destination backup controlling section 24 b.

[2] Particular Operation of the Embodiment

Now, particular operation of the backup apparatus 100 (backupcontrolling section 24) of the present embodiment configured in such amanner as described above is described hereinabove with reference toFIGS. 8 to 38. It is to be noted that, in the following description, the“backup volume” is sometimes referred to simply as “backup”, andsimilarly, the “bitmap table” is sometimes referred to simply as“bitmap”.

Here, operation in the case where backups 13 b-1 to 13 b-3 of theoperation volume 13 a having such an initial state as illustrated inFIG. 8 are produced at time 00:00, 01:00 and 02:00, respectively, andupdating of the operation volume 13 a and reference/updating/deletionfor the backups 13 b-1 to 13 b-3 of different generations are carriedout is described.

[2-1] Initial State of the Operation Volume 13 a

As seen in FIG. 8, the operation volume 13 a in the initial state has 9regions individually designated by physical addresses A1 to A9, and data1 to 9 are stored in the nine regions. In FIG. 8, the physical addressesA1 to A9 for designating the regions are indicated in parentheses. It isto be noted that, when the operation server 2 accesses each of the data1 to 9 of the operation volume 13 a, it designates the data 1 to 9, forexample, with a logical address a1 to a9. Therefore, the logicaladdresses a1 to a9 and the physical addresses A1 to A9 are associatedwith each other by an address conversion table.

[2-2] Operation after backup production of the generation 1 (firstgeneration) till time immediately prior to backup production of ageneration 2 (second generation) (operation within a period from time00:00 to time 01:00)

(11) At time 00:00, a backup volume 13 b-1 of the generation 1 regardingthe operation volume 13 a illustrated in FIG. 9A is acquired andproduced as seen in FIG. 9B by the first production section 241 inaccordance with a production instruction of a backup volume of thegeneration 1 from the operation server 2.

In short, all data 1 to 9 of the operation volume 13 a at the point oftime at which the production instruction of a backup volume of the firstgeneration is received from the operation server 2 are copied into thevirtual volume 131-1 by the first production section 241 (refer to ashaded portion of FIG. 9B; refer to the YES route of step S1 of FIG. 4to step S2).

At this time, a physical region (virtual volume) 131-1 of a capacitysame as that of the operation volume 13 a is secured. Then, as seen inFIG. 9B or 11, the data 1 to 9 at the physical addresses A1 to A9 of theoperation volume 13 a are copied into the regions designated by physicaladdresses A11 to A19 of the secured physical region 131-1 in theirdownward direction.

Further, as seen in FIG. 11, a first generation table 132-1 whichassociates the logical addresses a1 to a9 and the physical addresses A11to A19 of the data in the physical region 131-1 is produced. Since theaddress conversion is carried out using the first generation table132-1, when the operation server 2 refers to the backup volume 13 b-1using the logical addresses a1 to a9, it can refer to the backup volume13 b-1 as such a logical volume as illustrated in FIG. 9B.

Further, in order to monitor the update situation of the operationvolume 13 a illustrated in FIG. 9A by means of the first monitoringsection 242, such a first bitmap table 242 a as illustrated in FIG. 10is produced. This first bitmap table 242 a is configured from 9 bitsindividually corresponding to the nine regions of the operation volume13 a and has “0” set to all bits thereof in the initial state thereof.In FIG. 10, the first bitmap table 242 a is illustrated in associationwith the logical addresses a1 to a9, physical addresses A1 to A9 anddata 1 to 9.

Further, in order to monitor the update situation of the virtual volume131-1 illustrated in FIG. 9B by means of the second monitoring section243, such a second bitmap table 243 a as illustrated in FIG. 11 isproduced. This second bitmap table 243 a is configured from 9 bitsindividually corresponding to the nine regions of the virtual volume131-1 and has “0” set to all bits thereof in the initial state thereof.It is to be noted that, in FIG. 11, the second bitmap table 243 a isillustrated in association with the mapping table 132-1 (logicaladdresses a1 to a9/physical addresses A11 to A19) and the data 1 to 9 ofthe virtual volume 131-1.

It is to be noted that logical volumes illustrated in FIG. 9B and somesucceeding figures illustrate states of backup volumes which looklogically from the operation server 2 and are not actually provided inthe individual backup volumes. Further, in the regions of the virtualvolumes 131-1 to 131-3 illustrated in FIG. 9B and some other succeedingfigures, data placed in the regions are illustrated and correspondingphysical addresses are indicated with parentheses. Further, in eachregion of the logical volumes illustrated in FIG. 9B and some othersucceeding figures, actual data which looks in the region from theoperation server 2 is indicated, and a corresponding logical address a1to a9 is indicated with parentheses.

(12) At time 00:10, the data 1 of the operation volume 13 a is updatedto data l′ as seen in FIG. 12A in accordance with the updating requestfor the operation volume 13 a. When updating of the operation volume 13a is carried out, the update situation is monitored by the firstmonitoring section 242, and the first bitmap table 242 a is updated bythe first monitoring section 242. In particular, in FIG. 12A, the data 1at the physical address A1 is updated to the data 1′ in the operationvolume 13 a, and therefore, a bit of the first bitmap table 242 acorresponding to the physical address A1 is rewritten from “0” into “1”as seen in FIG. 13 (refer to a shaded portion). At this time, a copyingprocess and so forth are not carried out. Further, as seen in FIG. 12B,no change occurs with the backup volume 13 b-1. It is to be noted thatthe updating process for the operation volume 13 a is executed, forexample, by the CPU 21 (refer to FIG. 1).

(13) At time 00:20, the data 2 of the operation volume 13 a is updatedto data 2′ as seen in FIG. 14A in accordance with an updating requestfor the operation volume 13 a from the operation server 2. Also in thisinstance, the update situation is monitored by the first monitoringsection 242 similarly as in (12) described hereinabove, and the firstbitmap table 242 a is updated by the first monitoring section 242. Inparticular, in FIG. 14A, the data 2 at the physical address A2 isupdated to the data 2′ in the operation volume 13 a, and therefore, abit of the first bitmap table 242 a corresponding to the physicaladdress A2 is rewritten from “0” to “1” as seen in FIG. 15 (refer to ashaded portion). At this time, a copying process and so forth are notcarried out. Further, as seen in FIG. 14B, no change occurs with thebackup volume 13 b-1.

(14) At time 00:30, a reference request to data at the logical addressa7 of the backup volume 13 b-1 is received from the operation server 2,and a reference process is executed. In this instance, the logicaladdress a7 is converted into the physical address A17 using the mappingtable 132-1 (refer to FIG. 11) in accordance with the reference request.In other words, the region of the backup 13 b-1 corresponding to thelogical address a7 is in a copied state. Therefore, as seen in FIG. 16B,the data 7 at the physical address A17 of the backup 13 b-1 is read outand referred to by the operation server 2. Such a reference process asjust described is executed by the reference processing section 245described above (refer to step S12 from the YES route of step S11 ofFIG. 5). At this time, a copying process and so forth are not carriedout. Further, as seen in FIGS. 16A and 16B, no change occurs with theoperation volume 13 a and the backup 13 b-1.

(15) At time 00:40, an updating request for updating the data 8 at thelogical address a8 of the backup 13 b-1 to the data A is received fromthe operation server 2, and an updating process is executed. In thisinstance, the logical address a8 is converted into the physical addressA18 using the mapping table 132-1 (refer to FIG. 11) in accordance withthe updating request. Further, since the backup 13 b-1 at this point oftime is of the latest generation, the data 8 at the physical address A18of the backup 13 b-1 is updated to data A as seen in FIG. 17B (refer toa shaded portion). Such an updating process as described above isexecuted by the updating processing section 246 described hereinabove(refer to step S22 from the YES route of step S21 of FIG. 6).

In the case where updating of the backup 13 b-1 is carried out in thismanner, the update situation is monitored by the second monitoringsection 243, and the second bitmap table 243 a is updated by the secondmonitoring section 243. In other words, in FIG. 17B, the data 8 at thephysical address A18 is updated to the data A in the backup 13 b-1, andtherefore, a bit of the second bitmap table 243 a corresponding to thephysical address A18 is rewritten from “0” to “1” as seen in FIG. 18(refer to a shaded portion).

At this time, since the updating is carried out for the backup 13 b-1 ofthe latest generation, a copying process and so forth are not carriedout. Further, as seen in FIG. 17A, no change occurs with the operationvolume 13 a.

[2-3] Operation after backup production for the generation 2 till apoint of time immediately preceding to backup production for thegeneration 3 (third generation) (operation within a period from time01:00 to time 02:00)

(21) At time 01:00, the backup 13 b-2 of the generation 2 of theoperation volume 13 a illustrated in FIG. 19A is acquired and producedas seen in FIG. 19C by the second production section 244 in accordancewith a production instruction of a backup volume of the generation 2from the operation server 2 (refer to steps S3 to S6 from the NO routeof step S1 of FIG. 4).

In particular, here the first bitmap table 242 a illustrated in FIG. 15and the second bitmap table 243 a illustrated in FIG. 18 are referred toby the second production section 244, and the first update regions A1and A2 of the operation volume 13 a and the second update region A18 ofthe backup 13 b-1 are recognized. Then, a physical volume (virtualvolume) 131-2 of a capacity corresponding to the capacity of the updateregions (here the capacity corresponding to three regions) is secured.This physical region 131-2 is formed from three successive regionsdesignated, for example, by physical addresses A21 to A23, respectively.

Into the regions of the physical region 131-2 secured in this manner,the data 1′ and 2′ in the first update regions A1 and A2 of theoperation volume 13 a and the data 8 in the region A8 of the operationvolume 13 a corresponding to the second update region A18 are copied inthe downward direction in the order of the physical address as seen inFIG. 19C or 21. At this time, the region A8 of the operation volume 13 awhich corresponds to the second update region A18 of the backup 13 b-1is specified based on the second bitmap table 243 a and the mappingtable 132-1 both illustrated in FIG. 18 and the address conversion table(refer to [2-1] hereinabove) of the operation volume 13 a.

Further, as seen in FIG. 21, a mapping table 132-2 is produced whichassociates the logical addresses a1, a2 and a8 corresponding to updateregions A1, A2 and A18 and the physical addresses A21, A22 and A23 ofthe data 1′, 2′ and 8 in the physical region 131-2 with each other,respectively. At this time, a region of a size corresponding to thecapacity of the physical region 131-2 (here the capacity correspondingto three regions) is secured in the backup volume region 13 b, and amapping table 132-2 is produced in the region.

The mapping table 132-2 produced in this manner and the mapping table132-1 illustrated in FIG. 18 or 19B are used to link the virtual volumes131-1 and 131-2 with each other. Consequently, when the operation server2 uses the logical addresses a1 to a9 to refer to the backup 13 b-2, thebackup 13 b-2 can be referred to as such a logical volume as illustratedin FIG. 19C.

Then, in order to monitor the update situation of the operation volume13 a illustrated in FIG. 19A after the backup production instruction ofthe generation 2 by means of the first monitoring section 242, all bitsof the first bitmap table 242 a are cleared to “0” as seen in FIG. 20.

Further, in order to monitor the update situation of the virtual volume131-2 illustrated in FIG. 19C by means of the second monitoring section243, such a second bitmap 243 a as illustrated in FIG. 21 is producednewly in place of the second bitmap 243 a illustrated in FIG. 18. Thenewly produced second bitmap 243 a is configured from 3 bitsindividually corresponding to the three regions of the virtual volume131-2, and “0” is set to all bits of the virtual volume 131-2 in itsinitial state. It is to be noted that, in FIG. 21, the second bitmaptable 243 a is illustrated in an associated relationship with themapping table 132-2 (logical addresses a1, a2, a8/physical addresses A21to A23) and the data 1′, 2′ and 8 of the virtual volume 131-2.

It is to be noted here that no change occurs with the operation volume13 a and the backup 13 b-1 of the generation 1 as illustrated in FIGS.19A and 19B.

(22) At time 01:10, the data 3 of the operation volume 13 a is updatedto data 3′ as seen in FIG. 22A in accordance with an updating request tothe operation volume 13 a from the operation server 2. Also in thisinstance, similarly as in (12) described hereinabove, the updatesituation is monitored by the first monitoring section 242, and thefirst bitmap 242 a is updated by the first monitoring section 242. Inother words, the data 3 at the physical address A3 of the operationvolume 13 a is updated to the data 3′, and consequently, a bit of thefirst bitmap table 242 a corresponding to the physical address A3 isrewritten from “0” to “1” as seen in FIG. 23 (refer to a shadedportion). At this time, a copying process and so forth are not carriedout. Further, as seen in FIGS. 22B and 22C, no change occurs with thebackups 13 b-1 and 13 b-2.

(23) At time 01:20, a reference request to data at the logical addressa7 of the backup 13 b-2 of the generation 2 is received from theoperation server 2, and a reference process is executed. In thisinstance, the backup 13 b-2 is referred to in accordance with thereference request, and the mapping table 132-2 (refer to FIG. 21) of thebackup 13 b-2 is searched based on the logical address a7. However, thelogical address a7 is not registered in the mapping table 132-2illustrated in FIG. 21. In short, the region of the backup 13 b-2 whichcorresponds to the logical address a7 is in a non-copied state.

Therefore, the backup 13 b-1 is referred to tracing back from thegeneration 2 to the generation 1, and the logical address a7 isconverted into the physical address A17 using the mapping table 132-1(refer to FIG. 18). Then, as seen in FIGS. 24B and 24C, the data 7 atthe physical address A17 of the backup 13 b-1 is read out and referredto by the operation server 2.

Such a reference process as described above is executed by the referenceprocessing section 245 described hereinabove (refer to steps S13 to S15from the NO route of step S11 of FIG. 5).

At this time, a copying process and so forth can be carried out.Further, as seen in FIGS. 24A to 24C, no change occurs with theoperation volume 13 a and the backups 13 b-1 and 13 b-2.

(24) At time 01:30, an updating request for updating the data 9 at thelogical address a9 of the backup 13 b-2 of the generation 2 to the dataB is received from the operation server 2, and an updating process isexecuted. At this point of time, since the backup 13 b-2 is the latestgeneration, updating of the backup 13 b-2 is carried out. However, atthe point of time at which the updating request is received, the logicaladdress a9 and a physical address corresponding to the logical addressa9 are not registered in the mapping table 132-2 of the backup 13 b-2illustrated in FIG. 21. In other words, the region of the backup 13 b-2corresponding to the logical address a9 is in a non-copied state.

Therefore, a physical region of a capacity corresponding to the capacityof the data B (data 9) is additionally secured newly and continuously inthe virtual volume 131-2, and the updated data B is copied into thephysical region (refer to shaded portions in FIGS. 25C and 26). Here, itis assumed that the physical address of the physical region added to thevirtual volume 131-2 is A24.

Such an updating process as described above is executed by the updatingprocessing section 246 described hereinabove (refer to step S22 from theYES route of step S21 of FIG. 6).

At this time, together with the addition of the new physical region, anew region corresponding to the additional physical region isadditionally secured in the mapping table 132-2 and the second bitmaptable 243 a as seen in FIG. 26. In particular, in the mapping table132-2, a storage region for information for associating the physicaladdress A24 of the region in which the data B is copied and the logicaladdress a9 with each other is additionally secured (refer to a shadedportion). Meanwhile, in the second bitmap table 243 a, one bit formonitoring the update situation in the added region of the physicaladdress A24 is additionally secured (refer to a shaded portion).

In the case where updating of the backup 13 b-2 of the latest generationis carried out in this manner, the update situation is monitored by thesecond monitoring section 243, and the second bitmap table 243 a isupdated by the second monitoring section 243. In particular, since, inFIG. 25C, the data in the region at the physical address A24 of thebackup 13 b-2 is updated to the data B, a bit in the second bitmap table243 a corresponding to the physical address A24 is rewritten from “0” to“1” as seen in FIG. 26 (refer to a shaded portion).

At this time, since the updating process has been carried out into thebackup 13 b-2 of the latest generation at this point of time, a copyingprocess and so forth are not carried out. Further, as seen in FIGS. 25Aand 25B, no change occurs with the operation volume 13 a and the backupvolume 13 b-1.

(25) At time 01:40, an updating request for updating the data 4 at thelogical address a4 of the backup 13 b-1 of the generation 1 to the dataC is received from the operation server 2, and an updating process isexecuted. Here, since the backup 13 b-1 of the update target is not ofthe latest generation, it is confirmed whether or not the regioncorresponding to the logical address a4 in the backup 13 b-2 of thegeneration 2 which is a next generation is copied already. Inparticular, the backup 13 b-2 is referred to, and the mapping table132-2 (refer to FIG. 26) of the backup 13 b-2 is searched based on thelogical address a4. However, since the logical address a4 is notregistered in the mapping table 132-2 illustrated in FIG. 26, it isdecided that the region of the backup 13 b-2 corresponding to thelogical address is in a non-copied state.

In this instance, the data at the logical address a4 of the backup 13b-1 is referred to. In other words, the logical address a4 is convertedinto the physical address A14 using the mapping table 132-1 (refer toFIG. 23). Then, the data 4 at the physical address A14 of the backup 13b-1 is read out, and this data 4 is copied into the backup 13 b-2 of thegeneration 2. At this time, a physical region of a capacitycorresponding to the capacity of the data 4 is additionally securednewly and continuously in the virtual volume 131-2, and the originaldata 4 at the logical address a4 is copied into the physical regionsecured in this manner (refer to a shaded portion of FIG. 27C or 29).Here, it is assumed that the physical address of the physical regionadded to the virtual volume 131-2 is A25.

At this time, together with the addition of the new physical region, anew region corresponding to the added physical region is additionallysecured in the mapping table 132-2 and the second bitmap table 243 a asseen in FIG. 29, and corresponding information is registered into theadditionally secured regions. In particular, in the mapping table 132-2,a storage region for information which associates the physical addressA25 and the logical address a4 of the region whose data 4 is copied witheach other is additionally secured (refer to a shaded portion).Meanwhile, in the second bitmap table 243 a, one bit for monitoring theupdate situation in, the added region of the physical address A25 isadditionally secured (refer to a shaded portion).

It is to be noted that the updating process in the present cycle iscarried out for the backup 13 b-1, and together with the updatingprocess, a copying process of the original data 4 into the backup 13 b-2of the latest generation is carried out. Therefore, the current copyingprocess into the physical address A25 of the backup 13 b-2 of the latestgeneration is not regarded as an updating process, and the bit in thesecond bitmap table 243 a corresponding to the physical address A25 ismaintained to be “0” as seen in FIG. 29 (refer to a shaded portion).

Thereafter, the data 4 at the physical address A14 of the backup 13 b-1of the generation 1 is updated to the data C as seen in FIGS. 27B and 28(refer to shaded portions).

By such an updating process as described above, it becomes possible torefer to the updated data C only with the logical address a4 of thebackup volume 13 b-1 of the generation 1 of the updating target while itbecomes possible to refer to the data 4 before the updating at thelogical address a4 of the backup of a generation later than thegeneration 1.

Further, such an updating process as described above is executed by theupdating processing section 246 described hereinabove (refer to stepsS25 to S27 from the NO route of step S21 and the NO route of step S23 ofFIG. 6).

It is to be noted here that, as seen in FIG. 27A, no change occurs withthe operation volume 13 a.

[2-4] Operation after backup production for the generation 3 till apoint of time immediately before backup deletion of the generation 1(operation within a period from time 02:00 to time 03:00)

(31) At time 02:00, a backup 13 b-3 of the generation 3 regarding theoperation volume 13 a illustrated in FIG. 30A is acquired and producedas seen in FIG. 30D by the second production section 244 in accordancewith a production instruction of a backup volume of the generation 3from the operation server 2 (refer to steps S3 to S6 from the NO routeof step S1 of FIG. 4).

In particular, the first bitmap table 242 a illustrated in FIG. 23 andthe second bitmap table 243 a illustrated in FIG. 29 are referred to bythe second production section 244, and the first update region A3 of theoperation volume 13 a and the second update region A24 of the backup 13b-2 are recognized. Then, a physical region (virtual volume) 131-3 of acapacity corresponding to the capacity of the update regions (here, acapacity corresponding to two regions) is secured. The physical region131-3 is formed from two continuous regions, for example, designated byphysical addresses A31 and A32 (refer to FIG. 32).

Into the regions of the physical region 131-3 secured in this manner,the data 3′ at the physical address A3 of the operation volume 13 a andthe data 9 in the region A9 of the operation volume 13 a correspondingto the second update region A24 are copied in the downward direction inthe order of the physical address as seen in FIG. 30D or 32. At thistime, the region A9 of the operation volume 13 a corresponding to thesecond update region A24 of the backup 13 b-2 is specified based on thesecond bitmap table 243 a and the mapping table 132-2 illustrated inFIG. 29 and the address conversion table of the operation volume 13 a(refer to [2-1] described hereinabove).

Further, a mapping table 132-3 which associates the logical addresses a3and a9 corresponding to the update regions A3 and A24 and the physicaladdresses A31 and A32 of the data 3′ and 9 in the physical region 131-2with each other, respectively, is produced as seen in FIG. 32. At thistime, a region of a size corresponding to the capacity of the physicalregion 131-3 (here the capacity corresponding to two regions) is securedin the backup volume region 13 b, and the mapping table 132-3 isproduced in the secured region.

The mapping table 132-3 produced in this manner, the mapping table 132-2illustrated in FIG. 29 or 30C and the mapping table 132-1 illustrated inFIG. 28 or 30B are used to link the virtual volumes 131-1 to 131-3 toeach other. Consequently, when the operation server 2 refers to thebackup 13 b-3 using the logical addresses a1 to a9, it can refer to thebackup 13 b-3 as such a logical volume as illustrated in FIG. 30D.

Then, in order to monitor the update situation of the operation volume13 a illustrated in FIG. 30A after the backup production instruction ofthe generation 3 by means of the first monitoring section 242, all ofthe bits of the first bitmap table 242 a are cleared to “0” as seen inFIG. 31.

Further, in order to monitor the update situation of the physical region131-3 illustrated in FIG. 30D by means of the second monitoring section243, such a second bitmap table 243 a as illustrated in FIG. 32 is newlyproduced in place of the second bitmap table 243 a illustrated in FIG.29. This second bitmap table 243 a is configured from 2 bitsindividually corresponding to the two regions of the virtual volume131-3, and “0” is set to all bits of the second bitmap table 243 a inits initial state. It is to be noted that, in FIG. 32, the second bitmap243 is illustrated in association with the mapping table 132-3 (logicaladdresses a3 and a9/physical addresses A31 and A32) and the data 3′ and9 of the virtual volume 131-2.

It is to be noted here that, as seen in FIGS. 30A to 30C, no changeoccurs with the operation volume 13 a and the backups 13 b-1 and 13 b-2.

(32) At time 02:10, a reference request to data at the logical addressa7 of the backup 13 b-3 of the generation 3 is received from theoperation server 2, and a reference process is executed. In thisinstance, the backup 13 b-3 is referred to in accordance with thereference request, and the mapping table 132-3 (refer to FIG. 32) of thebackup 13 b-3 is searched with the logical address a7. However, thelogical address a7 is not registered in the mapping table 132-3illustrated in FIG. 32. In other words, in the backup 13 b-3, the regioncorresponding to the logical address a7 remains in a non-copied state.

Therefore, the backup 13 b-2 is referred to tracing back from thegeneration 3 to the generation 2, and the mapping table 132-2 (refer toFIG. 28) of the backup 13 b-2 is searched with the logical address a7.However, the logical address a7 is not registered in the mapping table132-2 illustrated in FIG. 28. In other words, in the backup 13 b-2, theregion corresponding to the logical address a7 is in a non-copied state.

Therefore, the backup 13 b-1 is referred to tracing back from thegeneration 2 to the generation 1, and the logical address a7 isconverted into the physical address A17 using the first generation table132-1 (refer to FIG. 28). Then, the data 7 at the physical address A17of the backup 13 b-1 is read out and referred to by the operation server2 as seen in FIGS. 33B to 33D. Such a reference process as justdescribed is executed by the reference processing section 245 describedhereinabove (refer to steps S13 to S15 from the NO route of step S11 ofFIG. 5).

At this time, a copying process and so forth are not carried out.Further, as seen in FIGS. 33A to 33D, no change occurs with theoperation volume 13 a and the backups 13 b-1 to 13 b-3.

(33) At time 02:30, an updating request for updating the data 5 at thephysical address a5 of the backup 13 b-2 of the generation 2 to the dataD is received from the operation server 2 and an updating process isexecuted. Here, since the backup 13 b-2 of the updating target is not ofthe latest generation, it is decided whether or not the regioncorresponding to the logical address in the backup 13 b-3 of thegeneration 3 which is a next generation is copied already. Inparticular, the backup 13 b-3 is referred to, and the mapping table132-3 (refer to FIG. 32) of the backup 13 b-3 is searched with thelogical address a5. However, since the logical address a4 is notregistered in the mapping table 132-3 illustrated in FIG. 32, it isdecides that the region of the backup 13 b-3 corresponding to thelogical address a5 is in a non-copied state.

In this instance, the data at the logical address a5 of the backup 13b-2 is referred to. In particular, the backup 13 b-2 is referred to, andthe mapping table 132-2 (refer to FIG. 29) of the backup 13 b-2 issearched with the logical address a5. However, the logical address a5 isnot registered in the mapping table 132-2 illustrated in FIG. 29. Inother words, the region of the backup 13 b-2 corresponding to thelogical region a5 is in a non-copied state. Therefore, the backup 13 b-1is referred to tracing back from the generation 2 to the generation 1,and the logical address a5 is converted into the physical address A15using the mapping table 132-1 (refer to FIG. 28). Then, the data 5 atthe physical address A15 of the backup 13 b-1 is read out and referredto. It is to be noted that the reference process executed here isexecuted by the reference processing section 245 described hereinabove(refer to steps S13 to S15 from the NO route of step S11 of FIG. 5).

The data 5 readout in such a manner as described above is copied intothe backup 13 b-3 of the generation 3. At this time, a physical regionof a capacity corresponding to the capacity of the data 5 isadditionally secured newly and continuously, and the original data 5 atthe logical address a5 is copied into the secured physical region (referto a shaded portion in FIG. 34D or 36). Here, it is assumed that thephysical address of the physical region added to the virtual volume131-3 is A33.

At this time, together with the addition of the new physical region, anew region corresponding to the added physical region is additionallysecured in the mapping table 132-3 and the second bitmap 243 a as seenin FIG. 36, and corresponding information is registered into theadditionally secured regions. In particular, in the mapping table 132-3,a storage region for information for associating the physical addressA33 of the region into which the data 5 is copied and the logicaladdress a5 is additionally secured (refer to a shaded portion).Meanwhile, in the second bitmap table 243 a, one bit for monitoring theupdate situation in the added region of the physical address A33 isadditionally secured (refer to a shaded portion).

It is to be noted that the current updating process is carried out forthe backup 13 b-2, and together with this updating process, a copyingprocess of the original data 5 into the backup 13 b-3 of the latestgeneration is carried out. Therefore, the current copying process intothe physical address A33 of the backup 13 b-3 of the latest generationis not regarded as an updating process, and the bit of the second bitmap243 a corresponding to the physical address A33 maintains “0” as seen inFIG. 36.

Thereafter, the data 5 at the logical address a5 of the backup 13 b-2 ofthe generation 2 is updated to the data D. However, at the point of timeat which the updating request is received, the logical address a5 and aphysical address corresponding to the logical address a5 are notregistered in the mapping table 132-2 of the backup 13 b-2 illustratedin FIG. 29. In other words, the region of the backup 13 b-2corresponding to the logical address a5 is in a non-copied state.

Therefore, a physical region of a capacity corresponding to the capacityof the data D (data 5) is additionally secured newly and continuously inthe virtual volume 131-2, and the updated data D is copied into theadditionally secured physical region (refer to a shaded portion in FIG.34C or 35). Then, the updating process of the present cycle iscompleted.

It is to be noted that the physical address of the physical region addedto the virtual volume 131-2 is assumed to be A26. Further, together withthe addition of the new physical region, a new region corresponding tothe added physical region is additionally secured in the mapping table132-2 as seen in FIG. 35, and corresponding information is registeredinto the newly added region. In other words, a storage region forinformation for associating the physical address A26 and the logicaladdress a5 of the region whose data D is copied with each other isadditionally secured in the mapping table 132-2 (refer to a shadedportion).

By such an updating process as described above, it becomes possible torefer to the update data D only at the logical address a5 of the backup13 b-2 of the generation 2 of the updating target while it becomespossible to refer to the data 5 before the updating at the physicaladdress of a backup of a generation later than the generation 2.

Further, such an updating process as described above is executed by theupdating processing section 246 described hereinabove (refer to stepsS25 to S27 from the NO route of step S21 and the NO route of step S23 ofFIG. 6).

At this time, as seen in FIGS. 34A and 34B, no change occurs with theoperation volume 13 a and the backup 13 b-1.

[2-5] Backup Deletion Operation of the Generation (Operation at Time03:00)

(41) At time 03:00, a deletion request of the backup 13 b-1 of thegeneration 1 is received from the operation server 2, and a deletionprocess is executed. At this time, since the backup 13 b-1 of thedeletion target is of the generation 1, there exist backups 13 b-2 and13 b-3 of the generations 2 and 3 later than the generation 1.Therefore, a copied region of the backup 13 b-1 of the generation 1 anda non-copied region of the backup 13 b-2 of the generation 2 aresearched out first.

Here, by referring to the mapping table 132-1 of the generation 1illustrated in FIG. 28, all regions of the backup 13 b-1 of thegeneration 1 (logical addresses a1 to a9/physical addresses A11 to A19)are searched out as copied regions. Further, by referring to the mappingtable 132-2 of the generation 2 illustrated in FIG. 35, the threeregions (logical addresses a3, a6 and a7) of the backup 13 b-2 of thegeneration 2 are searched out as non-copied regions.

Then, by comparing the copied regions and the non-copied regionssearched out in this manner with each other, non-copied regions (logicaladdresses a3, a6 and a7) which are copied in the backup 13 b-1 of thegeneration 1 but are not copied in the backup 13 b-2 of the generation 2are found out.

Thereafter, the logical addresses a3, a6 and a7 are converted into thephysical addresses A13, A16 and A17 using the first generation table132-1 of the generation 1 illustrated in FIG. 28, respectively. Then,the data 3, 6 and 7 at the physical addresses A13, A16 and A17 of thebackup 13 b-1 are read out.

The data 3, 6 and 7 are copied into the backup 13 b-2 of the generation2. At this time, physical regions of a capacity corresponding to thecapacity of the data 3, 6 and 7 are additionally secured newly andcontinuously in the physical region 131-2, and the original data 3, 6and 7 at the logical addresses a3, a6 and a7 are copied into the securedphysical regions (refer to a shaded portion of FIG. 37C or 38). Here, itis assumed that the physical addresses of the physical regions added tothe physical region 131-2 are A27 to A29.

At this time, together with the addition of the new physical regions,new regions corresponding to the added physical regions are additionallysecured in the mapping table 132-2 as seen in FIG. 38, and correspondinginformation is registered into the additionally secured regions. Inother words, storage regions for information for associating thephysical addresses A27 to A29 and the physical addresses a3, a6 and a7of the regions whose data 3, 6 and 7 are copied with each other areadditionally secured (refer to a shaded portion).

After the copying process into a non-copied region of the backup 13 b-2of the generation 2 is completed in such a manner as described above,the relationship between the operation volume 13 a and the virtualvolume 131-1 in the backup 13 b-1 of the generation 1 of the deletiontarget is deleted. Consequently, the backup 13 b-1 of the generation 1is deleted from the backup 13 b as seen in FIG. 38B. The relationshipdeleted here includes, for example, the mapping table 132-1 (refer toFIG. 28) of the generation 1 and so forth. By carrying out such deletionof the relationship as described above, the operation server 2 isdisabled from accessing to the backup 13 b-1 of the generation 1, and astate in which the backup 13 b-1 of the generation 1 is substantiallydeleted is established.

In such a deletion process as described above, data which has beenstored in the backup 13 b-1 of the generation 1 of the deletion targetbut has not been stored in the backup 13 b-2 of the next generation isstored into the backup 13 b-2 before it is deleted. Consequently, evenif the backup 13 b-1 of the generation 1 is deleted, disappearance ofthe data from the backup volume region 13 b by deletion can beprevented, and all data are maintained in the backup volume region 13 bin such a state that they can be referred to and restored.

It is to be noted that such a deletion process as described above isexecuted by the deletion processing section 247 described hereinabove(refer to steps S33 to S35 and S32 from the YES route of step S31 ofFIG. 7).

Further, at this time, as seen in FIGS. 37A and 37D, no change occurswith the operation volume 13 a and the backup 13 b-3.

[3] Effect of the Embodiment

According to the present embodiment, upon production of a backup 13 b-1of the generation 1, all data of the operation volume 13 a are stored.On the other hand, upon production of a backup 13 b-k of the generation2 or a succeeding generation, an update situation of the operationvolume 13 a and the backup volume 13 b-(k−1) of the immediatelypreceding generation is confirmed and copy of difference data betweenthem is carried out. In other words, into the backup volume 13 b-k ofthe generation 2 or a later generation, the data of an update region ofthe operation volume 13 a and original data of the operation volume 13 acorresponding to an update region of the backup volume 13 b-(k−1) of ageneration immediately preceding to the production target generation arecopied.

At this time, in the backups 13 b-2 to 13 b-i of the second-and-latergenerations, a capacity equal to that of an update region of eachgeneration is secured and only data of the update region is stored. Alsofor the mapping tables 132-2 to 132-i, a region of a size correspondingto the capacity of the update region of each generation is secured, andonly address conversion information (logical address/physical address)of a portion corresponding to the update region is stored into thesecured regions.

Consequently, the capacity of the physical regions used in the backups13 b-2 to 13 b-i of the second-and-later generations becomes a minimumnecessary capacity, and also it is possible to suppress the size of themapping tables 132-2 to 132-i for the generations and the second bitmaptable 243 a to a minimum necessary size.

Further, as described above, in the backup 13 b-1 of the generation 1,not only all data of the operation volume 13 a are stored but alsonon-updated original data when the backup volume is updated are stored.Therefore, even if the operation volume 13 a is damaged and disabledfrom reference thereto, the data of the operation volume 13 a of thegenerations 1 to i are restored as far as possible based on the backups13 b-1 to 13 b-i and the backup data acquired for a plurality ofgenerations are not lost in the backups 13 b-1 to 13 b-i.

Accordingly, backups of the operation volume 13 a for a plurality ofgenerations are implemented with certainty.

Further, according to the updating processes for a backup volume 13 b-kof a particular generation described hereinabove, for example, withreference to FIGS. 6, 17A, 17B, 18, 25A to 29 and 34A to 36, it ispermitted to refer to update data only in a relevant region of thebackup volume 13 b-k of the particular generation. On the other hand, ina relevant region of a backup volume 13 b-m (m is a natural number whichsatisfies k<m≦i) of a generation later than the particular generation,it is possible to refer to original data before updating.

Further, according to the deletion process of a backup volume of aparticular generation described hereinabove, for example, with referenceto FIGS. 7 and 37A to 38, data which has been stored in a backup volume13 b-k of the deletion target generation but not been stored in the nextgeneration is stored into the backup volume 13 b-(k+1) of the nextgeneration. Consequently, even if the backup volume 13 b-k is deleted,disappearance of the data from the backup volume region 13 b by thedeletion can be prevented, and all data are maintained in the backupvolume region 13 b in such a state that they can be referred to andrestored.

[4] Others

While preferred embodiments of the present invention have been describedabove, the present invention is not limited to the embodimentsspecifically described above, and various variations and modificationscan be made without departing from the scope of the present invention.

Further, the components 241 to 247 (all or some functions) of the backupcontrolling section 24 described hereinabove are implemented by acomputer (including a CPU, an information processing apparatus andvarious terminals) executing a predetermined application program (backupprogram).

The program is provided in a form in which it is recorded on or in acomputer-readable recording medium such as, for example, a flexibledisk, a CD (such as a CD-ROM, a CD-R and a CD-RW), a DVD (such as aDVD-ROM, a DVD-RAM, a DVD-R, a DVD-RW, a DIV+R and a DVD+RW) and a blueray disk. In this instance, a computer reads the program from therecording medium and transfers and stores the program to and into aninternal storage device or an external storage device.

Here, the term computer is used to signify a concept including hardwareand an OS (operating system) and signifies the hardware which operatesunder the control of the OS. On the other hand, in such a case that noOS is required and an application program by itself can operatehardware, the hardware itself corresponds to the computer. The hardwareincludes at least a microprocessor such as a CPU and means for reading acomputer program recorded on a recording medium. The backup programdescribed above includes program codes for causing such a computer asdescribed above to implement the functions of the components 241 to 247described hereinabove. Further, part of the functions may be implementednot by an application program but by an OS.

All examples and conditional language recited herein are intended forpedagogical purposes to aid the reader in understanding the inventionand the concepts contributed by the inventor to furthering the art, andare to be construed as being without limitation to such specificallyrecited examples and conditions, nor does the organization of suchexamples in the specification relate to a showing of the superiority andinferiority of the invention. Although the embodiment(s) of the presentinventions have been described in detail, it should be understood thatthe various changes, substitutions, and alterations could be made heretowithout departing from the spirit and scope of the invention.

1. A backup apparatus for producing backup volumes of a plurality ofgenerations regarding a backup target volume, comprising: a storagesection adapted to store the backup volumes of the plural generations; afirst production section adapted to copy data in the backup targetvolume at a point of time at which a production instruction of a backupvolume of a first generation is received into a region for the firstgeneration of said storage section to produce the backup volume of thefirst generation; a first monitoring section adapted to monitor, as afirst update region, a region to which the data updated in the backuptarget volume after a production instruction of a backup volume of ani−1th generation is issued belongs, i being a natural number equal to orgreater than two; and a second production section adapted to refer, if aproduction instruction of a backup volume of an ith generation isreceived, to the first update region monitored by said first monitoringsection to secure, in said storage section, a region for the ithgeneration having a capacity corresponding to a capacity of the firstupdate region and then copy the data in the first update region in thebackup target volume at a point of time at which the productioninstruction of the backup volume of the ith generation is received intothe region for the ith generation to produce the backup volume of theith generation.
 2. The backup apparatus as claimed in claim 1, whereinsaid first monitoring section monitors the first update region using afirst bitmap table having a size corresponding to a capacity of thebackup target volume.
 3. The backup apparatus as claimed in claim 1,further comprising: a second monitoring section adapted to monitor, as asecond update region, a region to which the data updated in the backupvolume of the i−1th generation after a production instruction of thebackup volume of the i−1th generation is issued belongs; and wherein, ifthe production instruction of the backup volume of the ith generation isreceived, then said second production section refers to the first updateregion monitored by said first monitoring section and the second updateregion monitored by said second monitoring section to secure, as theregion for the ith generation in said storage section, a region having acapacity corresponding to the capacities of the first update region andthe second update region and then copies the data in the first updateregion and the data in a region corresponding to the second updateregion in the backup target volume at a point of time at which theproduction instruction of the backup volume of the ith generation isreceived into the region for the ith generation to produce the backupvolume of the ith generation.
 4. The backup apparatus as claimed inclaim 3, wherein said second monitoring section monitors the secondupdate region using a second bitmap table having a size corresponding toa capacity of the backup volume of the i−1th generation.
 5. The backupapparatus as claimed in claim 1, wherein said first production sectionproduces, upon production of the backup volume of the first generation,a table for the first generation for associating a logical address and aphysical address of the data in the region for the first generation witheach other.
 6. The backup apparatus as claimed in claim 1, wherein saidsecond production section produces, upon production of the backup volumeof the ith generation, a table for the ith generation for associating alogical address and a physical address of the data in the region for theith generation with each other.
 7. The backup apparatus as claimed inclaim 1, further comprising a reference processing section adapted todecide, if a reference request of data in a backup volume of a specificgeneration from among the plural generations is received, whether or notdata copy by said first production section or said second productionsection has been carried out into a relevant region, which is designatedas a reference target region by the reference request, in the backupvolume of the specific generation and then read out, if it is decidedthat the data copy into the relevant region has been carried out, thedata in the relevant region as reference data.
 8. The backup apparatusas claimed in claim 7, wherein, if it is decided that the copy into therelevant region has not been carried out, then said reference processingsection successively refers to the relevant region, which is designatedas the reference target region by the reference request, in the backupvolumes of older generations than the specific generation to decidewhether or not the data copy by said first production section or saidsecond production section has been carried out into the relevant region,and then reads out, as the reference data, the data in the relevantregion at a point of time at which it is decided that the data copy intothe relevant region has been carried out.
 9. The backup apparatus asclaimed in claim 1, further comprising an updating processing sectionadapted to decide, if an updating request of data in a backup volume ofa specific generation from among the plural generations is received,whether or not the specific generation is the newest generation and thenupdate, if it is decided that the specific generation is the newestgeneration, the data in a relevant region, which is designated as anupdating target region by the updating request, in the backup volume ofthe specific generation to the data designated by the updating request.10. The backup apparatus as claimed in claim 9, wherein, if it isdecided that the specific generation is any other generation than thenewest generation, then said updating processing section refers to therelevant region, which is designated as the updating target region bythe updating request, in a backup volume of a next generation to thespecific generation and decides whether or not the data copy by saidfirst production section or said second production section has beencarried out into the relevant region in the backup volume of the nextgeneration, and then updates, if it is decided that the data copy intothe relevant region in the backup volume of the next generation has beencarried out, the data in the relevant region in the backup volume of thespecific generation to the data designated by the updating request. 11.The backup apparatus as claimed in claim 10, wherein, if it is decidedthat the data copy into the relevant region in the backup volume of thenext generation has not been carried out, then said updating processingsection carries out a reference request for designating the relevantregion of the backup volume of the specific generation as a referencetarget region and copies the data read out in accordance with thereference request into the relevant region in the backup volume of thenext generation and then updates the data in the relevant region in thebackup volume of the specific generation to the data designated by theupdating request.
 12. The backup apparatus as claimed in claim 1,further comprising a deletion processing section adapted to decide, if adeletion request of a backup volume of a specific generation from amongthe plural generations is received, whether or not there is a backupvolume of a newer generation than the specific generation, and delete,if it is decided that there is no backup volume of a newer generationthan the specific generation, the backup volume of the specificgeneration; and wherein, if it is decided that there is a backup volumein a newer generation than the specific generation, then said deletionprocessing section searches for a region into which the data copy bysaid first production section or said second production section has beencarried out in the backup volume of the specific generation and a regioninto which the data copy by said first production section or said secondproduction section has not been carried out in the backup volume of thenext generation to the specific generation to decide whether or notthere is a region into which the data copy has been carried out in thebackup volume of the specific generation whereas the data copy has notbeen carried out in the backup volume of the next generation, and thendeletes, if it is decided that there is no such region, the backupvolume in the specific generation, but copies, if it is decided thatthere is such region, the data in the region, into which the data copyhas been carried out in the backup volume of the specific generation,into the relevant region in the backup volume of the next generation andthen deletes the backup volume of the specific generation.
 13. A backupmethod for producing backup volumes of a plurality of generationsregarding a backup target volume in a storage section, comprising: afirst production step of copying data in the backup target volume at apoint of time at which a production instruction of a backup volume of afirst generation is received into a region for the first generation ofthe storage section to produce the backup volume of the firstgeneration; a first monitoring step of monitoring, as a first updateregion, a region to which the data updated in the backup target volumeafter a production instruction of a backup volume in an i−1th generationis issued belongs, i being a natural number equal to or greater thantwo; and a second production step of referring, if a productioninstruction of a backup volume in an ith generation is received, to thefirst update region monitored at the first monitoring step to secure, inthe storage section, a region for the ith generation having a capacitycorresponding to a capacity of the first update region and then copyingthe data in the first update region in the backup target volume at apoint of time at which the production instruction of the backup volumeof the ith generation is received into the region for the ith generationto produce the backup volume of the ith generation.
 14. The backupmethod as claimed in claim 13, wherein, at the first monitoring step,the first update region is monitored using a first bitmap table having asize corresponding to a capacity of the backup target volume.
 15. Thebackup method as claimed in claim 13, further comprising: a secondmonitoring step of monitoring, as a second update region, a region towhich the data updated in the backup volume of the i−1th generationafter a production instruction of the backup volume of the i−1thgeneration is issued belongs; and wherein, at the second productionstep, if the production instruction of the backup volume of the ithgeneration is received, then the first update region monitored by thefirst monitoring step and the second update region monitored by thesecond monitoring step are referred to, to secure, as the region for theith generation in the storage section, a region having a capacitycorresponding to capacities of the first update region and the secondupdate region, and then the data in the first update region and the datain a region corresponding to the second update region in the backuptarget volume at a point of time at which the production instruction ofthe backup volume of the ith generation is received are copied into theregion for the ith generation to produce the backup volume of the ithgeneration.
 16. The backup method as claimed in claim 15, wherein, atthe second monitoring step, the second update region is monitored usinga second bitmap table having a size corresponding to a capacity of thebackup volume in the i−1th generation.
 17. A computer-readable recordingmedium in or on which a backup program for causing a computer tofunction as a backup apparatus for producing backup volumes of aplurality of generations regarding a backup target volume in a storagesection is recorded, the backup program causing the computer to functionas: a first production section adapted to copy data in the backup targetvolume at a point of time at which a production instruction of a backupvolume of a first generation is received into a region for the firstgeneration of the storage section to produce the backup volume of thefirst generation; a first monitoring section adapted to monitor, as afirst update region, a region to which the data updated in the backuptarget volume after a production instruction of a backup volume of ani−1th generation is issued belongs, i being a natural number equal to orgreater than two; and a second production section adapted to refer, if aproduction instruction of a backup volume of an ith generation isreceived, to the first update region monitored by the first monitoringsection to secure, in the storage section, a region for the ithgeneration having a capacity corresponding to a capacity of the firstupdate region and then copy the data in the first update region in thebackup target volume at a point of time at which the productioninstruction of the backup volume of the ith generation is received intothe region for the ith generation to produce the backup volume of theith generation.
 18. The computer-readable recording medium as claimed inclaim 17, wherein, when the backup program causes the computer tofunction as the first monitoring section, the first update region ismonitored using a first bitmap table having a size corresponding to acapacity of the backup target volume.
 19. The computer-readablerecording medium as claimed in claim 17, wherein the backup programcauses the computer to function as a second monitoring section adaptedto monitor, as a second update region, a region to which the dataupdated in the backup volume of the i−1th generation after a productioninstruction of the backup volume of the i−1th generation is issuedbelongs; and when the backup program causes the computer to function asthe second production section, if the production instruction of thebackup volume of the ith generation is received, then the first updateregion monitored by the first monitoring section and the second updateregion monitored by the second monitoring section are referred to, tosecure, as the region for the ith generation in the storage section, aregion having a capacity corresponding to the capacities of the firstupdate region and the second update region and then copies the data inthe first update region and the data in a region corresponding to thesecond update region in the backup target volume at a point of time atwhich the production instruction of the backup volume of the ithgeneration is received into the region for the ith generation to producethe backup volume of the ith generation.
 20. The computer-readablerecording medium as claimed in claim 19, wherein, when the backupprogram causes the computer to function as the second monitoringsection, the second update region is monitored using a second bitmaptable having a size corresponding to a capacity of the backup volume inthe i−1th generation.